Fast relearning of workload mac addresses multi-homed to active and backup gateways

ABSTRACT

The technology disclosed herein enables remote gateways to quickly re-learn MAC addresses of workloads for a gateway that has taken over for another gateway. In a particular embodiment, a method provides determining that a backup gateway should begin handling communications exchanged with one or more workloads of an active gateway for a logical network. The method further provides transferring a control message to one or more remote gateways in communication with the backup gateway. The control message instructs the remote gateways to change MAC addresses learned from, and associated with, the active gateway to being associated with the backup gateway. The method also provides, in the backup gateway, receiving network communications directed to one or more of the workloads from one or more of the remote gateways.

RELATED APPLICATIONS

This application is related to and claims priority to U.S. ProvisionalPatent Application 62/579,039, titled “FAST RELEARNING OF WORKLOAD MACADDRESSES MULTI-HOMED TO ACTIVE AND BACKUP GATEWAYS,” filed Oct. 30,2017, and which is hereby incorporated by reference in its entirety.

TECHNICAL BACKGROUND

In a logical overlay network, each gateway provides connectivity to itslocal workloads for them to communicate with other remote workloadsconnected to remote gateways. This connectivity includes both L2 and L3traffic. Through the data plane of the logical network, a gatewaytypically learns the media access control (MAC) addresses for allworkloads connected to it via L2 switches and may also learn the IP/MACbindings associated with those workloads. Furthermore, a gateway willlearn the remote workload MAC addresses connected via remote gateways.To provide redundancy, a workload may be multi-homed to more than onegateway. One gateway acts as an active gateway while another gatewaybacks up that active gateway in a standby capacity. Network, trafficfrom a workload will flow through the active gateway as long as theactive gateway remains active. However, when the active gateway fails,or is otherwise unable to continue handling traffic, the traffic willflow via the backup gateway.

An issue with data plane MAC address learning in the active/backuprelationship described above is that remote gateways need to relearn theMACs addresses via the newly activated backup gateway. That relearningprocess will rely on MAC address relearning due to bi-directionaltraffic or, as a last resort, aging out of MAC addresses in the absenceof frames from the sources. The process can, therefore, lead to a largerconvergence time for the MAC addresses to be relearned as beingassociated with the backup gateway. Even if the MAC addresses can bere-learned via a central control plane, rather than the data plane, thetime it takes the control plane to learn about the switchover to thenewly active gateway, or to re-teach the remote gateways about the MACaddresses' new association with the backup gateway can still lead tohigher convergence time.

SUMMARY

The technology disclosed herein enables remote gateways to quicklyre-learn MAC addresses of workloads for a gateway that has taken overfor another gateway. In a particular embodiment, a method providesdetermining that a backup gateway should begin handling communicationsexchanged with one or more workloads of an active gateway for a logicalnetwork. The method further provides transferring a control message toone or more remote gateways in communication with the backup gateway.The control message instructs the remote gateways to change MACaddresses learned from, and associated with, the active gateway to beingassociated with the backup gateway. The method also provides, in thebackup gateway, receiving network communications directed to one or moreof the workloads from one or more of the remote gateways.

In some embodiments, responsive to receiving the control message, eachof the remote gateways iterates through a MAC address table to change adestination gateway field for each MAC address learned from the activegateway to instead identify the backup gateway.

In some embodiments, the active gateway comprises a first Virtual TunnelEndpoint (VTEP) and the backup gateway comprises a second VTEP. In theseembodiments, the control message may indicate an identifier for thefirst VTEP, an identifier for the second VTEP, and an identifier for thelogical network.

In some embodiments, the control message comprises a control packethaving an Operations, Administration and Maintenance (OAM) bit set.Also, in some embodiments, the logical network comprises a nvo3 (NetworkVirtualization Overlays) type logical network and, in these embodiments,the logical network may be implemented using Geneve or VirtualExtensible Local Area Networking (VXLAN).

In another embodiment, an apparatus is provided to implement a backupgateway. The apparatus having one or more computer readable storagemedia and a processing system operatively coupled with the one or morecomputer readable storage media. Program instructions stored on the oneor more computer readable storage media, when read and executed by theprocessing system, direct the processing system to determine that abackup gateway should begin handling communications exchanged with oneor more workloads of an active gateway for a logical network. Theprogram instructions further direct the processing system to transfer acontrol message to one or more remote gateways in communication with thebackup gateway. The control message instructs the remote gateways tochange MAC addresses learned from, and associated with, the activegateway to being associated with the backup gateway. The programinstructions also direct the processing system to receive networkcommunications directed to one or more of the workloads from one or moreof the remote gateways.

In yet another embodiment, a method provides, in a remote gateway,receiving a control message, from a backup gateway, that instructs theremote gateway to change MAC addresses learned from, and associatedwith, an active gateway to being associated with the backup gateway. Thebackup gateway transfers the control message in response to determiningthat the backup gateway should begin handling communications exchangedwith one or more workloads of the active gateway for a logical network.The method further provides associating, with the backup gateway, theMAC addresses learned from the active gateway and transferring networkcommunications to one or more of the workloads via the backup gateway.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an implementation for fast relearning of MACaddresses multi-homed to active and backup gateways.

FIG. 2 illustrates a scenario for the implementation to fast relearn MACaddresses multi-homed to active and backup gateways.

FIG. 3 illustrates another scenario for the implementation to fastrelearn MAC addresses multi-homed to active and backup gateways.

FIG. 4 illustrates another implementation for fast relearning of MACaddresses multi-homed to active and backup gateways.

FIG. 5 illustrates a logical arrangement of the other implementation forfast relearning of MAC addresses multi-homed to active and backupgateways.

FIG. 6 illustrates a scenario for the other implementation to fastrelearn MAC addresses multi-homed to active and backup gateways.

FIG. 7 illustrates an exemplary control packet in the scenario to fastrelearn MAC addresses multi-homed to active and backup gateways.

FIG. 8 illustrates an exemplary MAC address table in the scenario tofast relearn MAC addresses multi-homed to active and backup gateways.

FIG. 9 illustrates another scenario for the other implementation to fastrelearn MAC addresses multi-homed to active and backup gateways.

DETAILED DESCRIPTION

Fast relearning of MAC addresses is achieved herein by the newly activebackup gateway transferring a control message to remote gatewaysinstructing the remote gateways to associate MAC addresses learned fromthe previously active gateway to now be associated with the backupgateway. Effectively, within the remote gateways, after complying withthe instruction from the control message, MAC addresses learned from thepreviously active gateway will now appear as though they were learnedfrom the backup gateway. Any traffic directed to one of those MACaddresses will therefore be directed to the backup gateway accordingly.

FIG. 1 illustrates implementation 100 for fast relearning of MACaddresses multi-homed to active and backup gateways. Implementation 100includes active gateway 101, backup gateway 102, one or more workloads103, one or more remote gateways 104, and communication network 105.Active gateway 101, backup gateway 102 (when activated), remote gateways104, and communication network 105 implement a logical communicationnetwork between workloads 103 and one or more workloads serviced byremote gateways 104. Communication network 105 may also provideconnectivity to the Internet, or other communication networks, forworkloads 103. Communication network 105 is a logical networkimplemented on physical computing and networking resources (e.g.,routers, switches, wired/wireless communication links, servers, etc.) toprovide logical communication links between workloads 103 and otherworkloads connected thereto. Similarly, active gateway 101, backupgateway 102, workloads 103, and remote gateways 104 may be processesexecuting on physical computing hardware (e.g., processing circuitry,network communication circuitry, memory circuitry, etc.) either directlyor virtualized, as a virtual machine, container, or otherwise, thoughhost software, such as a hypervisor, executing on the hardware. Activegateway 101, backup gateway 102, and remote gateways 104 may beendpoints, such as virtual tunnel endpoints (VTEPs), using tunnelingprotocols, such as Geneve, Virtual Extensible Local Area Networking(VXLAN), or other type of tunnel encapsulation used for encapsulatingmulti-tenant Layer 2 frames, or may be some other type of logicalnetwork gateway.

In operation, remote gateways 104 learn the MAC addresses of workloads103, and note that the MAC addresses are associated with active gateway101, during the normal course of exchanging communications withworkloads 103. For instance, communications received at one of remotegateways 104 from one of workloads 103 indicates the MAC address of theworkload as the origination address for the communications and, sincethe communications were received from active gateway 101, the remotegateway knows that the MAC address is associated with active gateway101. Then, when the remote gateway receives communications from one ofits own workloads directed to the learned MAC address of the workloadfrom above, the remote gateway knows to direct those communicationsthrough active gateway 101. Backup gateway 102 operates in a standbycapacity until such moment when active gateway 101 fails, or isotherwise unable to perform its duties. At that point, backup gateway102 is made active to handle communications exchanged with workloads103. Remote gateways 104 will not know that the MAC addresses learnedfrom active gateway 101 should now be associated with backup gateway102. The faster that remote gateways 104 can relearn that MAC addressesof workloads 103 are now homed to backup gateway 102 instead of activegateway 101, the less time communications exchanged with workloads 103may be disrupted.

FIG. 2 illustrates scenario 200 for implementation 100 to fast relearnMAC addresses multi-homed to active and backup gateways. In scenario200, backup gateway 102 determines that backup gateway 102 should beginhandling communications exchanged with workloads 103 that werepreviously being handled by active gateway 101 (201). A control planemay instruct backup gateway 102 to takeover, backup gateway 102 may makethe determination on its own (e.g., through heartbeat type messagesexchanged with active gateway 101), or in some other manner.

Upon taking over duties of handling communications exchanged withworkloads 103, backup gateway 102 transfers a control message to remotegateways 104 (202). A separate control message may be sent to eachrespective one of remote gateways 104 or a single control message may bemulti-casted or broadcasted to remote gateways 104. In some examples, anoperations, administration, and management (OAM) bit may be set in thepacket carrying the control message to ensure the packet is not droppedby the physical communication network underlying communication network105. The control message instructs the remote gateways to change all MACaddresses learned from, and thereby associated with, active gateway 101to being associated with backup gateway 102 as though the MAC addresseswere learned from backup gateway 102 in the first place. For example,upon each of remote gateways 104 receiving the control message, therespective remote gateways 104 each iterate through a table therein thatstores MAC addresses and their associated gateway. Upon reaching a MACaddress entry indicating that the MAC address is associated with activegateway 101, the entry is changed so that the MAC address is insteadassociated with backup gateway 102. Gateways in the table may beidentified by their own MAC address, a VTEP IP address, or in some othermanner—including combinations thereof.

In alternative examples, rather than instructing remote gateways 104 tomove the MAC addresses learned from active gateway 101 to beingassociated with backup gateway 102, the control message may instructremote gateways 104 to flush the MAC addresses associated with activegateway 101. Remote gateways 104 would then relearn the MAC addresses ofworkloads 103 from backup gateway 102 in the same manner the addresseswere originally learned from active gateway 101.

Once the MAC addresses for workloads 103 are changed to be associatedwith backup gateway 102 in remote gateways 104, remote gateways 104 canstart directing communications to workloads 103 via backup gateway 102.Example, one of remote gateways 104 receives communications directed toone of workloads 103 as identified by the workload's MAC address. Theremote gateway determines that the workload's MAC address is associatedwith backup gateway 102 and transfers the communications to backupgateway 102. Backup gateway 102 receives the network communicationsdirected to one or more of workloads 103 from one or more of remotegateways 104 and passes the network communications to the appropriateworkload of workloads 103 (203).

FIG. 3 illustrates scenario 300 for implementation 100 to fast relearnMAC addresses multi-homed to active and backup gateways. In particular,scenario 300 is an example of scenario 200 from the perspective ofremote gateways 104. In scenario 300, each of remote gateways 104receives the control message from backup gateway 102 that instructsbackup gateway 102 to change the MAC addresses associated with activegateway 101 to being associated with backup gateway 102 (301).Responsive to receiving the control message, each of remote gateways 104complies with the control message by indicating that the MAC addressesfor workloads 103, which were previously learned from and associatedwith active gateway 101, are now associated with backup gateway 102(302). Remote gateways 104 may each include a table or other type ofdata structure that maintains the associations. Thus, the informationwithin the data structure that indicates the gateway/MAC addressassociations would be changed. Once the gateway associations have beenchanged in remote gateways 104, when each of remote gateways 104receives network traffic directed to one of workloads 103, the remotegateway knows to transfer the traffic to backup gateway 102 and does soaccordingly (303).

Advantageously, in scenarios 200 and 300, remote gateways 104 are ableto re-learn that the MAC addresses of workloads 103 are associated withbackup gateway 102 more quickly than remote gateways 104 otherwise wouldhave.

FIG. 4 illustrates implementation 400 for fast relearning of MACaddresses multi-homed to active and backup gateways. In this example,the gateways are VTEPs that implement an nvo3 network over the physicalnetwork components. Implementation 400 includes host computing system421, host computing system 431, host computing system 441, hostcomputing system 451, VTEP 471, VTEP 472, VTEP 473, VTEP 474, VTEP 475,and physical network 561. Physical network 461 may include the Internet,one or more local area networks, one or more wide area networks, and/orone or more other types of networks between computing systems. VTEPs471-475 may each be implemented as a dedicated network element, such asa router or a switch, having their own network interface circuitry andprocessing circuitry or may be implemented on some other type of networknode, including a host computing system having similar structure to hostcomputing system 421 and host computing system 431. U.S. Pat. No.9,602,305 describes one example in which a VTEP may be implementedexternal to a host computing system having workloads thereon (e.g., hostcomputing system 421) and is hereby incorporated by reference in itsentirety. Moreover, VTEP 471 and VTEP 472, or any active/backup VTEPpair, should be implemented on different physical elements such thatfailure of one physical element does not affect the ability of the otherto support the VTEP thereon.

In this example, host computing system 421 executes hypervisor 423, ashosts, to allocate physical computing resources 422 among virtualmachines 401-403 Likewise, host computing system 431 executes hypervisor433 to allocate physical computing resources 432 among virtual machines404-406. Physical computing resources 422 and 432 may include processingresources (e.g., processing circuitry, CPU time/cores, etc.), memoryspace (e.g., random access memory, hard disk drive(s), flash memory,etc.), network interfaces, user interfaces, or any other type ofresource that a physical computing system may include. Each of virtualmachines 401-406 have a respective guest operating system (OS) 411-416executing as the workload thereon. While not shown, one or moreapplications may be running on each of guest OSs 411-416 to performvarious tasks, such as an application tier of a hosted application.

Host computing system 441 and host computing system 451 may both havesimilar structure to host computing system 421 and host computing system431. As such, host computing system 441 and/or host computing system 451may similarly host one or more virtual machines via respectivehypervisors. Alternatively, workloads of host computing system 441and/or host computing system 451 may execute directly on theirrespective host computing system rather than being virtualized thereon.

It should be understood that the distribution of virtual machines evenlyacross two host computing systems, as shown in FIG. 4, is merelyexemplary. The six virtual machines shown may instead be implemented onany number of host computing systems. Likewise, host computing systems421 and 431 could host additional hosts (e.g., hypervisors) and virtualmachines and/or other virtual elements that are not involved in thisexample.

FIG. 5 illustrates logical arrangement 500 of implementation 400 forfast relearning of MAC addresses multi-homed to active and backupgateways. Logical arrangement 500 shows how VTEPs 471-475 implement annvo3 network 501 on physical network 461. VTEPs 471-475 may use atunneling protocol, such as Geneve or VXLAN, between each other tofacilitate nvo3 network 501 over physical network 461. The workloads ofhost computing system 421 (i.e., guest OSs 411-413), the workloads ofhost computing system 431 (i.e., guest OSs 414-416), workloads 574 ofhost computing system 441, and workloads 575 over host computing system451 communicate over nvo3 network 501. In this example, VTEP 471 is theactive VTEP for communications exchanged with guest OSs 411-413 and VTEP472 stands by as a backup. The other workloads of logical arrangement500 are shown to be only associated with a single active VTEP 473-475.However, VTEPs 473-475 may each also have a backup VTEP that acts in asimilar capacity to VTEP 472, as described below.

FIG. 6 illustrates scenario 600 for implementation 400 to fast relearnMAC addresses multi-homed to active and backup gateways. Scenario 600begins with VTEP 471 operating as the active VTEP for workloads on hostcomputing system 421. As such, communication traffic is exchanged atstep 1 between any of guest OSs 411-413 and any of guest OSs 414-416 andworkloads 574-575. From that traffic, at step 2, each of VTEPs 473-475learns the MAC addresses of each of guest OSs 411-413 insofar as trafficfrom each of guest OSs 411-413 passes through a particular one of VTEPs473-475. For example, if VTEP 473 receives network traffic transferredfrom guest OS 412 via VTEP 471, VTEP 473 would associate the MAC addressof guest OS 412 with VTEP 471. Then, if one of guest OSs 414-416transfers network traffic back to guest OS 412, VTEP 471 would recognizethat the MAC address of guest OS 412 in the network traffic and know totransfer that traffic to VTEP 471. As workloads come and go, as may bethe case when new virtual machines are instantiated or taken down onhost computing system 421, VTEPs 473-475 would continue to learn andupdate their MAC address associations.

During the normal exchange of network traffic, as described above, VTEP472 periodically receives heartbeat messages from VTEP 471 at step 3 toindicate that VTEP 471 is still operating properly and that VTEP 472 canremain on standby. The heartbeat messages may be transferred on an outof band link between VTEP 471 and VTEP 472. In this example, VTEP 472fails to receive a heartbeat message at step 4, which VTEP 472 assumesindicates that VTEP 471 is no longer operational. In some cases, VTEP472 may attempt to contact VTEP 471 to ensure VTEP 471 is non-functionalbefore taking any action. Once VTEP 472 has determined that VTEP 471 hasgone down and VTEP 472 should takeover as the active VTEP for guest OSs411-413, VTEP 472 activates itself for handling the network trafficexchanged with guest OSs 411-413 at step 5. The activation may includenotifying guest OSs 411-413 that VTEP 472 has activated or guest OSs411-413 may simply start sending traffic to VTEP 472 upon recognizingthemselves that VTEP 471 is down. Upon going active, VTEP 472 sends acontrol packet to each of VTEPs 473-475 notifying them that VTEP 472 isnow the active VTEP for guest OSs 411-413 by instructing VTEPs 473-475to change the VTEP association of the MAC addresses for guest OSs411-413 to VTEP 472 rather than VTEP 471.

FIG. 7 illustrates an exemplary control packet 700 in scenario 600 tofast relearn MAC addresses multi-homed to active and backup gateways.Control packet 700 is an example of the control packet sent at step 6 ofscenario 600 to each of VTEPs 473-475. Control packet 700 carriesidentifier 711 for VTEP 471, identifier 712 for VTEP 472, and identifier713 for nvo3 network 501. identifier 711 for VTEP 471 and identifier 712for VTEP 472 may each comprise a unique 20-bit label identifier, an IPaddress, or some other type of identifier. Identifier 713 for nvo3network 501 is included because VTEPs 472-475 may handle other nvo3networks. Identifier 713 for nvo3 network 501 may comprise a 24-bitVXLAN network identifier (VNI) when nvo3 network 501 uses VXLANencapsulation or may use a different type of identifier when a differenttype of encapsulation is used. Though not shown, control packet 700 mayfurther carry an explicit instruction for identifier 711 for VTEP 471 tobe replaced with identifier 712 for VTEP 472 for all MAC addressescurrently associated with VTEP 471. Alternatively, the instruction maybe implicit in the receipt of control packet 700. Moreover, controlpacket 700 may have an OAM bit in its header set, as defined by theencapsulation protocol (e.g., Geneve, VXLAN, etc.), to ensure thatcontrol packet 700 does not get dropped in transit between VTEP 471 andeach of VTEPs 473-475.

Referring back to scenario 600, the upon each of VTEPs 473-475 receivingthe control packet, each of VTEPs 473-475 changes MAC addressescurrently associated with VTEP 471 to be associated with VTEP 472instead at step 7. Each of VTEPs 473-475 may maintain a local datastructure that includes workload MAC addresses and indicates the VTEPassociated with each respective MAC address. One example of such a datastructure is a table listing the MAC addresses and their correspondingVTEPs, as described below.

FIG. 8 illustrates an exemplary MAC address table 800 in scenario 600 tofast relearn MAC addresses multi-homed to active and backup gateways.MAC address table 800 in their example is the MAC address table used byVTEP 473, although VTEPS 474 and 475 may have tables with similarentries. MAC address table 800 includes a column for workloads, eachrepresented by the workload's MAC address, and a column for VTEPs, eachrepresented by an identifier for the VTEP. A workload MAC address sharesa row with its corresponding VTEP identifier. MAC address table 800likely includes entries beyond those illustrated. For example, MACaddress table 800 may have entries for workloads 574 and workloads 575indicating that VTEP 474 and VTEP 475, respectively, are thecorresponding VTEPs.

When VTEP 473 performs step 7 from scenario 600 on MAC address table800, VTEP 473 iterates through the rows of MAC address table 800 to findall entries of identifier 711 for VTEP 471. In this case, there arethree such entries, one corresponding to each of MAC address 811 forGuest OS 411, MAC address 812 for Guest OS 412, and MAC address 813 forGuest OS 413. For each of the three entries, identifier 711 for VTEP 471is replaced with identifier 712 for VTEP 472. After replacement, MACaddress table 800 shows that MAC address 811 for Guest OS 411, MACaddress 812 for Guest OS 412, and MAC address 813 for Guest OS 413 areall associated with identifier 712 for VTEP 472 just as it would if theMAC addresses were originally learned via VTEP 472. The MAC addresstables of VTEP 474 and VTEP 475 would be changed similarly.

Again referring back to scenario 600, once the MAC address/VTEPassociations have been changed, network traffic continues to beexchanged at step 8. However, any traffic directed to guest OSs 411-413,via their respective MAC addresses, will now be routed through VTEP 472rather than VTEP 471 due to VTEP 472 now being associated with the MACaddresses of guest OSs 411-413 in VTEPs 473-475.

FIG. 9 illustrates scenario 900 for implementation 400 to fast relearnMAC addresses multi-homed to active and backup gateways. Scenario 900begins with steps 1-5 being similar to those of scenario 600 where VTEPs473-475 learns the MAC addresses of guest OSs 411-413 and associatesthose MAC addresses with VTEP 471. Once VTEP 472 goes active at step 5,the control message sent at step 6 to VTEPs 473-475 instructs VTEPs473-475 to flush MAC addresses associated with VTEP 471. As such, themessage would identify VTEP 471 therein (e.g., using identifier 711 forVTEP 471) so that VTEPs 473-475 can identify MAC addresses associatedtherewith. Upon receiving the control message from VTEP 472, each ofVTEPs 473-475 flushes the MAC addresses associated with VTEP 471 (i.e.,the MAC addresses of guest OSs 411-413 in this example). VTEPs 473-475then rely on network traffic continuing to be exchanged at step 8 tore-learn the VTEP associated with the MAC addresses of guest OSs411-413. Essentially, steps 8 and 9 mirror steps 1 and 2 with respect totraffic from guest OSs 411-413 only the result of the learningassociates the MAC addresses of guest OSs 411-413 with VTEP 472 insteadof with VTEP 471. In other examples, the control message may instructVTEPs 473-475 to flush all MAC address/VTEP associations and re-learnVTEPs for all workloads, not just for guest OSs 411-413.

The descriptions and figures included herein depict specificimplementations of the claimed invention(s). For the purpose of teachinginventive principles, some conventional aspects have been simplified oromitted. In addition, some variations from these implementations may beappreciated that fall within the scope of the invention. It may also beappreciated that the features described above can be combined in variousways to form multiple implementations. As a result, the invention is notlimited to the specific implementations described above, but only by theclaims and their equivalents.

What is claimed is:
 1. A method of fast re-learning workload mediaaccess control (MAC) addresses, the method comprising: determining thata backup gateway should begin handling communications exchanged with oneor more workloads of an active gateway for a logical network;transferring a control message to one or more remote gateways incommunication with the backup gateway, wherein the control messageinstructs the remote gateways to change MAC addresses learned from, andassociated with, the active gateway to being associated with the backupgateway; and in the backup gateway, receiving network communicationsdirected to one or more of the workloads from one or more of the remotegateways.
 2. The method of claim 1, wherein, responsive to receiving thecontrol message, each of the remote gateways iterates through a MACaddress table to change a destination gateway field for each MAC addresslearned from the active gateway to instead identify the backup gateway.3. The method of claim 1, wherein the active gateway comprises a firstVirtual Tunnel Endpoint (VTEP) and the backup gateway comprises a secondVTEP.
 4. The method of claim 3, wherein the control message indicates anidentifier for the first VTEP, an identifier for the second VTEP, and anidentifier for the logical network.
 5. The method of claim 1, whereinthe control message comprises a control packet having an Operations,Administration and Maintenance (OAM) bit set.
 6. The method of claim 1,wherein the logical network comprises a nvo3 (Network VirtualizationOverlays) type logical network.
 7. The method of claim 6, wherein thelogical network is implemented using Geneve or Virtual Extensible LocalArea Networking (VXLAN).
 8. An apparatus implementing a backup gatewayfor fast re-learning workload media access control (MAC) addresses, theapparatus comprising: one or more computer readable storage media; aprocessing system operatively coupled with the one or more computerreadable storage media; and program instructions stored on the one ormore computer readable storage media that, when read and executed by theprocessing system, direct the processing system to: determine that abackup gateway should begin handling communications exchanged with oneor more workloads of an active gateway for a logical network; transfer acontrol message to one or more remote gateways in communication with thebackup gateway, wherein the control message instructs the remotegateways to change MAC addresses learned from, and associated with, theactive gateway to being associated with the backup gateway; and receivenetwork communications directed to one or more of the workloads from oneor more of the remote gateways.
 9. The apparatus of claim 8, wherein,responsive to receiving the control message, each of the remote gatewaysiterates through a MAC address table to change a destination gatewayfield for each MAC address learned from the active gateway to insteadidentify the backup gateway.
 10. The apparatus of claim 8, wherein theactive gateway comprises a first Virtual Tunnel Endpoint (VTEP) and thebackup gateway comprises a second VTEP.
 11. The apparatus of claim 10,wherein the control message indicates an identifier for the first VTEP,an identifier for the second VTEP, and an identifier for the logicalnetwork.
 12. The apparatus of claim 8, wherein the control messagecomprises a control packet having an Operations, Administration andMaintenance (OAM) bit set.
 13. The apparatus of claim 8, wherein thelogical network comprises a nvo3 (Network Virtualization Overlays) typelogical network.
 14. The apparatus of claim 13, wherein the logicalnetwork is implemented using Geneve or Virtual Extensible Local AreaNetworking (VXLAN).
 15. A method of fast re-learning workload mediaaccess control (MAC) addresses, the method comprising: in a remotegateway, receiving a control message, from a backup gateway, thatinstructs the remote gateway to change MAC addresses learned from, andassociated with, an active gateway to being associated with the backupgateway, wherein the backup gateway transfers the control message inresponse to determining that the backup gateway should begin handlingcommunications exchanged with one or more workloads of the activegateway for a logical network; associating, with the backup gateway, theMAC addresses learned from the active gateway; and transferring networkcommunications to one or more of the workloads via the backup gateway.16. The method of claim 15, wherein associating the MAC addresseslearned from the active gateway with the backup gateway comprises:iterating through a MAC address table of the remote gateway to change adestination gateway field for each MAC address learned from the activegateway to instead identify the backup gateway.
 17. The method of claim15, wherein the active gateway comprises a first Virtual Tunnel Endpoint(VTEP) and the backup gateway comprises a second VTEP.
 18. The method ofclaim 17, wherein the control message indicates an identifier for thefirst VTEP, an identifier for the second VTEP, and an identifier for thelogical network.
 19. The method of claim 15, wherein the control messagecomprises a control packet having an Operations, Administration andMaintenance (OAM) bit set.
 20. The method of claim 15, wherein thelogical network comprises a nvo3 (Network Virtualization Overlays) typelogical network.